/*
* This file is a part of the open-eBackup project.
* This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
* If a copy of the MPL was not distributed with this file, You can obtain one at
* http://mozilla.org/MPL/2.0/.
*
* Copyright (c) [2024] Huawei Technologies Co.,Ltd.
*
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
*/
#ifndef __VOLEXIST_RESPONSE_H__
#define __VOLEXIST_RESPONSE_H__

#include <string>
#include <common/JsonHelper.h>
#include "common/model/ResponseModel.h"

namespace CNwarePlugin {
class VolExistResponse : public VirtPlugin::ResponseModel {
public:
    VolExistResponse() {}
    ~VolExistResponse() {}
    bool Serial()
    {
        if (m_body.empty()) {
            return false;
        }
        DBGLOG("Serial m_body: %s", WIPE_SENSITIVE(m_body).c_str());
        if (!Module::JsonHelper::JsonStringToStruct(m_body, m_data)) {
            ERRLOG("Convert %s failed.", WIPE_SENSITIVE(m_body).c_str());
            return false;
        }
        return true;
    }

    bool IsExist()
    {
        return m_data.m_data.m_exist;
    }

private:
    VolExistInfo m_data;
};
}
#endif